package com.yanfan.energy.domain.enums;

public class DeviceManageEnums {

    /**
     * 出入库物品类型，1  表示备品备件，2  表示易损件
     */
    public enum ItemType {
        SPARE_PARTS(1, "表示备品备件"), WEARING_PARTS(2, "表示易损件");


        private Integer code;

        private String desc;

        ItemType(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        /**
         * 根据枚举type 返回String类型
         *
         * @param type
         * @return
         */
        public static String getDescByType(Integer type) {
            for (ItemType item : ItemType.values()) {
                if (item.getCode().equals(type)) {
                    return item.getDesc();
                }
            }
            return "";
        }

        /**
         * 判断是否存在
         *
         * @param type
         * @return
         */
        public static boolean thisTypeisExist(Integer type) {
            for (ItemType item : ItemType.values()) {
                if (item.getCode().equals(type)) {
                    return true;
                }
            }
            return false;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    /**
     * 出入库类型，1 表示入库，2  表示出库
     */
    public enum InOutType {
        IN(1, "入库"), OUT(2, "出库");


        private Integer code;

        private String desc;

        InOutType(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        /**
         * 根据枚举type 返回String类型
         *
         * @param type
         * @return
         */
        public static String getDescByType(Integer type) {
            for (InOutType item : InOutType.values()) {
                if (item.getCode().equals(type)) {
                    return item.getDesc();
                }
            }
            return "";
        }

        /**
         * 判断是否存在
         *
         * @param type
         * @return
         */
        public static boolean thisTypeisExist(Integer type) {
            for (InOutType item : InOutType.values()) {
                if (item.getCode().equals(type)) {
                    return true;
                }
            }
            return false;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    /**
     * 计划周期， 时->每天的指定的那个小时 ;  日 ： 每月的那个时间  周：  星期几
     */
    public enum PlanPeriod {


        HOURLY(1, "时"), DAILY(2, "日"), WEEKLY(3, "周");


        private Integer code;

        private String desc;

        PlanPeriod(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        /**
         * 根据枚举type 返回String类型
         *
         * @param type
         * @return
         */
        public static String getDescByType(Integer type) {
            for (PlanPeriod item : PlanPeriod.values()) {
                if (item.getCode().equals(type)) {
                    return item.getDesc();
                }
            }
            return "";
        }

        /**
         * 判断是否存在
         *
         * @param type
         * @return
         */
        public static boolean thisPeriodIsExist(Integer type) {
            for (PlanPeriod item : PlanPeriod.values()) {
                if (item.getCode().equals(type)) {
                    return true;
                }
            }
            return false;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    /**
     * 计划周期， 时->每天的指定的那个小时 ;  日 ： 每月的那个时间  周：  星期几
     */
    public enum ImageType {


        DEVICE_REPAIR(1, "设备维修"), DEVICE_INSPECTION(2, "设备巡检"), DEVICE_MAINTENANCE(3, "设备保养"), DEVICE_PARTS(4, "备件管理");


        private Integer code;

        private String desc;

        ImageType(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        /**
         * 根据枚举type 返回String类型
         *
         * @param type
         * @return
         */
        public static String getDescByType(Integer type) {
            for (ImageType item : ImageType.values()) {
                if (item.getCode().equals(type)) {
                    return item.getDesc();
                }
            }
            return "";
        }

        /**
         * 判断是否存在
         *
         * @param type
         * @return
         */
        public static boolean thisImageTypeIsExist(Integer type) {
            for (ImageType item : ImageType.values()) {
                if (item.getCode().equals(type)) {
                    return true;
                }
            }
            return false;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }


    /**
     * 计划任务类型
     */
    public enum PlanType {


        REGULAR(1, "定期"), TEMPORARY(0, "临时");


        private Integer code;

        private String desc;

        PlanType(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        /**
         * 根据枚举type 返回String类型
         *
         * @param type
         * @return
         */
        public static String getDescByType(Integer type) {
            for (PlanType item : PlanType.values()) {
                if (item.getCode().equals(type)) {
                    return item.getDesc();
                }
            }
            return "";
        }

        /**
         * 判断是否存在
         *
         * @param type
         * @return
         */
        public static boolean thisImageTypeIsExist(Integer type) {
            for (PlanType item : PlanType.values()) {
                if (item.getCode().equals(type)) {
                    return true;
                }
            }
            return false;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }


}
